1. Field of the Invention
This invention relates to still picture players, and more specifically, to a still picture player for expanding a video playing function of a video player to provide the video player with a still picture playing function.
2. Description of the Background Art
Recently, digital broadcasting services using communications satellites and the like have been receiving attention. In such services, generally, a video player is set up at a receiving end of digital video. FIG. 22 is a block diagram showing the structure of a conventional video player. In FIG. 22, the video player includes a frame data receiving portion 1601, a frame data storage portion 1602, a decode processing portion 1603, a display data managing portion 1604, a display data storage portion 1605, a display control portion 1606, a display portion 1607, a header information storage portion 1608, and a timing control portion 1609. The timing control portion 1609 includes a timer portion 1610 and a time information storage portion 1611.
Sequentially inputted to the above described video player is frame data in a PES (Packetized Elementary Stream) format, which structures video and is compressed/coded based on the MPEG (Motion Picture Experts Group) standard.
Here, FIG. 23 shows a format of the frame data to be inputted to the video player shown in FIG. 22. In FIG. 23, the format of the frame data is based on standards of ISO/IEC13818-1 and -2, generally including PES Header and Elementary Stream. PES Header includes fields of packet_start_code_prefix, stream_id, PES_packet_length, PTS (presentation_time_stamp), and DTS (decoding_time_stamp) (refer to the drawing), and in addition, includes prescribed fields (not shown) based on the above standards. Elementary Stream has a hierarchical structure, including a sequence layer and a picture layer. In addition, Elementary Stream includes layers (not shown) based on the above standards. Added to the head of the sequence layer is Sequence Header (refer to the drawing) having header information based on the above standards, such as sequence_header_code and the like. Added to the head of the picture layer is Picture Header (refer to the drawing) having header information based on the above standards, such as picture_start_code, temporal_reference, and picture_coding_type and the like. Added to the end of the frame data is sequence_end_code.
Further, FIG. 24 shows frame data I0, P3, . . . which structure the video to be sequentially inputted to the video player shown in FIG. 22. In FIG. 24, temporal_reference of the frame data I0 is xe2x80x9c0xe2x80x9d and its picture_coding_type is xe2x80x9cIxe2x80x9d. Further, temporal_reference of the frame data P3 is xe2x80x9c3xe2x80x9d, and its picture_coding_type is xe2x80x9cPxe2x80x9d. In this way, an alphabet shown on the left side in each frame data shown in FIG. 24 represents picture_coding_type, and a number shown on the right side represents temporal_reference.
Described next is a processing procedure by the video player using operation from time when the frame data P3 (refer to FIG. 24) arrives at the frame data receiving portion 1601 to time when the frame data P3 is displayed on the display portion 1607 as a specific example.
First, when the frame data P3 arrives, as shown in FIG. 31, display data (frame data) I0 has been stored in a storage area IP[1] in the display data storage portion 1605, and flag information xe2x80x9cwrite completedxe2x80x9dhas been set in its flag information storage area. Storing processing of display data like this will be described later and not mentioned here.
Referring to a flow chart shown in FIG. 25, described next is a processing procedure by the frame data receiving portion 1601, the frame data storage portion 1602 and the header information storage portion 1608, which are a frame data receiving part. The frame data receiving portion 1601 receives frame data (at this point, P3) encoded in the PES format as shown in FIGS. 23 and 24 (FIG. 25; step S1901). Next, the frame data receiving portion 1601 extracts stream_id, PTS, DTS, picture_coding_type and temporal_reference from the header information of the frame data as required header information to output them to the header information storage portion 1608 (step S1902). Here, the header information is information included in the header based on the above standards, such as PES Header, Sequence Header, Picture Header and the like as shown in FIG. 23.
The header information storage portion 1608 holds a first list as shown in FIG. 26. In FIG. 26, the first list has fields of stream_id, PTS, DTS, picture_coding_type, temporal reference and a storage area. The header information storage portion 1608 stores each header information inputted from the frame data receiving portion 1601 in each corresponding field. The header information storage portion 1608 stores information (IP[0], IP[1], B[0], or B[1]) indicating storage areas inputted from the display data managing portion 1604 in the storage area field. At this point, in the first list, as shown in FIG. 26, xe2x80x9c0xE0xe2x80x9d, xe2x80x9c0x15000xe2x80x9d, xe2x80x9c0x6000xe2x80x9d, xe2x80x9cIxe2x80x9d, xe2x80x9c0xe2x80x9d, and xe2x80x9cIP[1]xe2x80x9dare set in the fields of stream_id, PTS, DTS, picture_coding_type, temporal_reference and the storage area, respectively, for the frame data I0 which has already arrived. Similarly, for the frame data P3 which newly arrived, xe2x80x9c0xE0xe2x80x9d, xe2x80x9c0x24000xe2x80x9d, xe2x80x9c0x9000xe2x80x9d, xe2x80x9cPxe2x80x9d, and xe2x80x9c3xe2x80x9dare set. The storage area field of the frame data P3 is blank because information indicating a storage area from the display data managing portion 1604 is not yet inputted to the header information storage portion 1608.
After updating the first list in the above described manner, the header information storage portion 1608 notifies the decode processing portion 1603 and the display control portion 1606 of this update (FIG. 25; step S1903). This notification is hereinafter referred to as xe2x80x9ca first list update notificationxe2x80x9d.
Next, the frame data receiving portion 1601 outputs the received frame data (at this time, P3) to the frame data storage portion 1602 (step S1904). The frame data storage portion 1602 stores the received frame data in the internal storage area.
The frame data receiving part executes the above described steps S1901 to S1904 every time frame data is inputted.
Described next is a processing procedure by the timing control portion 1609 referring to a flow chart shown in FIG. 27. Described first is a second list held by the time information storage portion 1611 referring to FIG. 28. In FIG. 28, the second list has fields of time information and notifier identification information. These time information and identification information are stored by the timing control portion 1609, and this processing will be described later. In an example shown in FIG. 28, stored in the time information field and the notifier identification information field are xe2x80x9c0x15000xe2x80x9dand xe2x80x9cdisplay control portionxe2x80x9d; xe2x80x9c0x9000xe2x80x9dand xe2x80x9cdecode processing portionxe2x80x9d; and xe2x80x9c0x24000xe2x80x9dand xe2x80x9cdisplay control portionxe2x80x9d; respectively.
First, the timing control portion 1609 checks whether the time information is stored in the above described second list (FIG. 27; steps S2101 and S2102), and when the time information is stored, the timing control portion 1609 goes on to step S2103. When the time information is not stored, the timing control portion 1609 repeatedly executes steps S2101 and S2102 until the time information is stored in the second list. Now assume that the present time is just before xe2x80x9c0x9000xe2x80x9d. At this time, as shown in FIG. 28, since at least three pieces of time information exist in the second list, the timing control portion 1609 goes on to step S2103.
Next, the timing control portion 1609 compares the entire time information in the second list and the present time measured by the timer portion 1610 (step S2103) to determine the relationship between them (step S2104). When determining that the present time reaches any time information in the second list or that the present time passes any time information in the second list, the timing control portion 1609 notifies one or more time information notifiers that the present time has reached the information (step S2105). This notification is hereinafter referred to as xe2x80x9ctime notificationxe2x80x9d. When determining otherwise, the timing control portion 1609 repeatedly executes steps S2101 to S2104 until the present time reaches time to output time notification. Now assume that the present time reaches time xe2x80x9c0x9000xe2x80x9d. In this case, as is evident from FIG. 28, the timing control portion 1609 outputs time notification to the decode processing portion 1603.
Next, the timing control portion 1609 deletes the time information and the notifier identification information referred to for outputting the time notification from the second list (step S2106). At this time, the time information xe2x80x9c0x9000xe2x80x9dand the identification information xe2x80x9cdecode processing portionxe2x80x9dare deleted.
The timing control portion 1609 repeatedly executes the above described steps S2101 to S2106.
Described next is a processing procedure by the decode processing portion 1603 referring to a flow chart shown in FIG. 29. The decode processing portion 1603 waits for the above described first list update notification from the header information storage portion 1608 outputted in step S1903 of FIG. 25 (FIG. 29; step S2301), and when receiving the notification (step S2302), the decode processing portion 1603 accesses the header information storage portion 1608 (refer to FIG. 26) to read DTS of the frame data which newly arrived and frame specifying information (in this description, picture_coding_type and temporal_reference) for specifying the frame data from the first list and then holds them. At this point, for the frame data P3, DTS xe2x80x9c0x9000xe2x80x9d, picture_coding_type xe2x80x9cPxe2x80x9dand temporal_reference xe2x80x9c3xe2x80x9dare read out.
The decode processing portion 1603 next notifies the timing control portion 1609 of the held DTS and the identification information xe2x80x9cdecode processing portionxe2x80x9d previously provided for specifying itself (step S2303). Based on the notification, the timing control portion 1609 adds new information to the above second list (this processing is not shown in FIG. 27). At this point, as shown in the middle column in FIG. 28, the time information xe2x80x9c0x9000xe2x80x9dand the notifier identification information xe2x80x9cdecode processing portionxe2x80x9dare added to the second list.
The decode processing portion 1603 next waits for time notification outputted by the timing control portion 1609 in step S2105 of FIG. 27 (step S2304), and when receiving the notification (step S2305), the decode processing portion 1603 accesses the frame data storage portion 1602 to read the frame data specified by the held frame specifying information and then decode the frame data (step S2306). The decode processing portion 1603 then outputs the decoded frame data and the held frame specifying information to the display data managing portion 1604 (step S2307). At this point, when the present time reaches DTS xe2x80x9c0x9000xe2x80x9d, the frame data P3 specified by picture_coding_type xe2x80x9cPxe2x80x9dand temporal_reference xe2x80x9c3xe2x80x9dis read, decoded and then outputted to the display data managing portion 1604.
The decode processing portion 1603 repeatedly executes the above steps S2301 to S2307.
Described next is a processing procedure by the display data managing portion 1604 and the display data storage portion 1605, which are a display data storing processing part. First, the more detailed structure of the display data storage portion 1605 is described referring to FIG. 31. In FIG. 31, the storage area of the display data storage portion 1605 is divided into four storage areas IP[0], IP[1], B[0] and B[1] each having a flag information storage area for storing flag information and a display data storage area for storing the above display data. The flag information has two types indicating whether or not it is possible to store the display data in the corresponding display data storage area. In this description, flag information xe2x80x9cenabledxe2x80x9drepresents that new display data may be written in the corresponding display data storage area. On the other hand, flag information xe2x80x9cwrite completedxe2x80x9drepresents that the display data now stored in the corresponding display data storage area is still required and new display data must not be written in the display data storage area.
Stored in the display data storage areas in the storage areas IP[0] and IP[1] is a frame compressed/coded by in-frame prediction (I picture; frame data whose picture_coding_type is xe2x80x9cIxe2x80x9d) or a frame compressed/coded by interframe prediction with a preceding frame (P picture; frame data whose picture_coding_type is xe2x80x9cPxe2x80x9d). Stored in the display data storage areas in the storage areas B[0] and B[1] is a frame compressed/coded by interframe prediction using a past frame and a future frame (B picture; frame data whose picture_coding_type is xe2x80x9cBxe2x80x9d).
Described next is a processing procedure by the display data storing processing part. First, at the time of initialization and the like, the storage area of the display data storage portion 1605 is divided into the storage areas IP[0], IP[1], B[0], and B[1] (FIG. 30; step S2401). At the time of initialization, four pieces of flag information are set to xe2x80x9cenabledxe2x80x9d. However, at this point, that is, when the above frame data P3 is inputted, as shown in FIG. 31, the frame data I0 has already been stored in the display data storage area of the storage area IP[1] and its flag information is set to xe2x80x9cwrite completedxe2x80x9d.
When the frame data and the frame specifying information after decoding outputted from the decode processing portion 1603 are inputted as display data and display data specifying information (step S2402), the display data managing portion 1604 holds the display data and the display data specifying information. At this point, the display data P3 is inputted, the pictureicoding_type xe2x80x9cPxe2x80x9dand temporal_reference xe2x80x9c3xe2x80x9dare inputted as the display data specifying information.
The display data managing portion 1604 accesses the display data storage portion 1605 to read the currently set flag information from each storage area and then hold the flag information (step S2403). At this point, as is evident from FIG. 31, the flag information of the storage areas IP [0], B[0] and B[1] is xe2x80x9cenabledxe2x80x9d, and the flag information of the storage area IP[1] is xe2x80x9cwrite completedxe2x80x9d.
The display data managing portion 1604 next determines whether or not the picture type of the held display data is xe2x80x9cBxe2x80x9dreferring to the held display data specifying information (picture_coding_type) (step S2404). At this point, since holding picture_coding_type xe2x80x9cPxe2x80x9d, the display data managing portion 1604 goes on to step S2405.
The display data managing portion 1604 next selects one of the storage areas IP where the flag information xe2x80x9cenabledxe2x80x9d is set and then writes the held display data in the display data storage area of the selected storage area IP (step S2405). At this point, as is evident from FIG. 31, the display data P3 is written in the storage area IP[0].
The display data managing portion 1604 next changes the flag information of the storage area IP (at this point, [0]) in which the display data is written this time to xe2x80x9cwrite completedxe2x80x9dand changes the flag information of the storage area IP (at this point, [1]) which has been set as xe2x80x9cwrite completedxe2x80x9dbefore writing this time to xe2x80x9cenabledxe2x80x9d(step S2406).
The display data managing portion 1604 next outputs data indicating the storage area in which the display data specifying information and the display data are written this time to request the header information storage portion 1608 to add the information indicating the storage area to the aforesaid storage area field in the first list shown in FIG. 26 (step S2407). In response to the request, based on the inputted display data specifying information, the header information storage portion 1608 adds the simultaneously inputted information indicating the storage area to the aforesaid storage area field. At this point, as is evident from the above description, IP [0] is added to the blank storage area field in the first list shown in FIG. 26.
When holding picture_coding_type [I], the display data managing portion 1604 executes the above steps S2405, S2406 and S2407 as in the same manner. When holding picture_coding_type [B], the display data managing portion 1604 executes the above steps S2408, S2409 and S2407. Compared to steps S2405 and S2406, steps S2408 and S2409 are different, as is evident from FIG. 30, only in that the storage area is a B type, and thus their description is omitted.
The display data storing processing part repeats two types of processing procedure (steps S2401 to S2407 or steps S2401 to S2404xe2x86x92S2408xe2x86x92S2409xe2x86x92S2407) according to the above picture types.
Described next is a processing procedure by the display control portion 1606 and the display portion 1607, which are a video display part, referring to a flow chart shown in FIG. 32. First, the display control portion 1606 waits for first list update notification from the above described header information storage portion 1608 (FIG. 32; step S2601), and when receiving the notification (step S2602), the display control portion 1606 accesses the header information storage portion 1608 (refer to FIG. 26) to read PTS of frame data which newly arrived from the first list and then holds PTS. At this point, PTS xe2x80x9c0x24000xe2x80x9dof the frame data P3 is read out. The display control portion 1606 next notifies the timing control portion 1609 of the held PTS and the identification information_xe2x80x9cdisplay control portionxe2x80x9dpreviously provided for specifying itself (step S2603). The timing control portion 1609 adds, as is the same above, new information to the second list based on the notification. At this point, as shown in a lower column in FIG. 28, the time information xe2x80x9c0x24000xe2x80x9dand the notifier identification information xe2x80x9cdisplay control portionxe2x80x9dare newly added.
The display control portion 1606 next waits for the above described time notification from the timing control portion 1609 (step S2604), and when receiving the notification (step S2605), the display control portion 1606 accesses the header information storage portion 1608 to recognize the storage area of the display data storage portion 1605 in which the display data to be displayed this time is stored to perform a search referring to the held PTS (step S2606). Next, the display control portion 1606 accesses the storage area obtained at step S2606 to read the display data from the storage area and then output the display data to the display portion 1607 (step S2607), and the display portion 1607 displays the inputted display data (step S2608).
At this point, in the first list shown in FIG. 26, IP[0] is set in the storage area field corresponding to PTS xe2x80x9c0x24000xe2x80x9d (refer to the above description). The display data P3 is read based on PTS xe2x80x9c0x24000xe2x80x9dtherein from the storage area IP[0] and then displayed.
The display control portion 1606 then outputs the held PTS to request the header information storage portion 1608 to delete the header information corresponding to the display data displayed this time from the first list (step S2609). The header information storage portion 1608 deletes the header information of the aforesaid display data based on PTS which is simultaneously inputted with this request. This processing by the header information storage portion 1608 is not shown in the flow chart of FIG. 25. At this point, as to the display data P3, xe2x80x9c0xE0, 0x24000xe2x80x9d, xe2x80x9c0x9000 xe2x80x9d, xe2x80x9cPxe2x80x9d, xe2x80x9c3xe2x80x9d and IP[0] are deleted.
The video displaying part repeatedly executes the above steps S2601 to S2609.
In this way, the present video player sequentially plays the inputted frame data of the video. Adjustment between the present time and arrival time of frame data by the timer portion 1610 is not mentioned above because it is not a main point of the present invention. Further, the video player may be structured as such that step S2609 of FIG. 32 which is the processing procedure by the video displaying part is not executed and that the header information storage portion 1608 holds information about the entire frame data.
By the way, in digital broadcasting service, video and still picture are provided. The conventional video player shown in FIG. 22 is mainly structured so as to sequentially play video without interruption. That is, the display data managing portion 1604 and the display control portion 1606 are connected through the header information storage portion 1608 to execute toggle processing to the display data storage portion 1605. More specifically, the display data managing portion 1604 writes decoded frame data in a storage area which is enabled and conforms to a picture type of the frame data. During this writing, the display control portion 1606 reads the display data from the storage area in which write is completed, according to PTS.
Described next are problems in the conventional video player. There is a significant difference when video is compared with still picture. That is, the frame data of the video is required to be sequentially played in predetermined order. On the other hand, the still picture is required to be selectively displayed according to preferences of a viewer""s side. In other words, the still picture is not necessarily displayed in predetermined order. In this point, the video is significantly different from the still picture.
However, since the conventional video player executes the above described toggle processing, display data is overwritten in any of the storage areas in the display data storage portion 1605 at regular time intervals. Therefore, when the conventional video player plays a still picture, display data required for the viewer""s side is overwritten by following unwanted display data, disadvantageously not allowing continuous display of the display data required for the viewer""s side. For example, assume that ten still pictures are sequentially inputted. The first to tenth still pictures are formed of a first to tenth frame data, respectively. When playing the first frame data and then the tenth frame data, the conventional video player has to make a blackout of the frame data inputted therebetween. Since this blackout is not preferable in view of information quality, it is important to continuously display the display data required for the viewer""s side (for example, the still picture selected according to preferences of the viewer""s side, and the like).
Therefore, an object of the present invention is to provide a still picture player of expanding functions of a video player and displaying required still picture (for example, still picture selected according to preferences of the viewer""s side, and the like) among inputted still pictures without a blackout.
The present invention has the features described in the following first to twenty-seventh aspects to achieve the object above.
A first aspect is directed to a still picture player for expanding a video playing function of a video player to provide a still picture playing function for the video player, comprising:
a condition storage portion for storing a condition for specifying still picture of a frame to be played;
a frame selecting portion for determining whether the inputted still picture matches the condition stored in the condition storage portion and selecting only still picture which matches the condition;
a decode processing portion for decoding the still picture selected by the frame selecting portion;
a display data storage portion having a plurality of areas for storing a plurality of pieces of display data which is the still picture decoded by the decode processing portion;
a toggle processing portion for executing toggle processing to write the display data in an enabled area among the plurality of areas and continue to read the display data to be played from other areas except the enabled area; and
a display portion for displaying the display data read by the toggle processing portion.
In the above first aspect, the toggle processing portion writes the display data in an enabled area among the plurality of areas and reads the display data from other areas except the enabled area. However, stored in each area of the display data storage portion is only the display data to be played, and the toggle processing portion continues to access the storage area in which the display data has been already written until the end of writing of the display data to be played next. Therefore, even when the above toggle processing is executed, display switching of the still picture is smoothly made without a blackout. Thus, the still picture player can continue to display required still picture, which matches the condition among the inputted still pictures, without a blackout.
According to a second aspect, in the first aspect, the still picture includes header information according to a prescribed encoding method; and
the condition for specifying the still picture is based on the header information.
According to a third aspect, in the first aspect, the still picture includes a hierarchical structure having unique header information in each layer; and
the condition for specifying the still picture is based on the header information.
In the second or third aspect, the condition information is based on the format of the still picture, and thereby it is not required to add the condition information to the still picture.
A fourth aspect is directed to a still picture playing device for expanding a video playing function of a video player to provide a still picture playing function for the video player, comprising:
a condition storage portion for storing a condition for specifying still picture of a frame to be played;
a decode processing portion for determining whether the inputted still picture matches the condition stored in the condition storage portion and decoding only still picture which matches the condition;
a display data storage portion having a plurality of areas for storing a plurality of pieces of display data which is the still picture decoded by the decode processing portion;
a toggle processing portion for executing toggle processing to write the display data in an enabled area among the plurality of areas and continue to read the display data from other areas except the enabled area; and
a display portion for displaying the display data read by the toggle processing portion.
In the above fourth aspect, as in the first aspect, stored in each area of the display data storage portion is only the display data to be played, and the toggle processing portion continues to access the storage area in which display data has been already written until the end of writing of the display data to be played next. Therefore, even when the above toggle processing is executed, display switching of the still picture is smoothly made without a blackout. Thus, the still picture player can continue to display only still picture which matches the set condition among the inputted still pictures as the required still picture without a blackout.
According to a fifth aspect, in the fourth aspect, the still picture includes header information according to a prescribed encoding method; and
the condition for specifying the still picture is based on the header information.
According to a sixth aspect, in the fourth aspect, the still picture includes a hierarchical structure having unique header information in each layer; and
the condition for specifying the still picture is based on the header information.
In the fifth or sixth aspect, the condition information is based on the format of the still picture, and thereby it is not required to add the condition information to the still picture.
A seventh aspect is directed to a still picture playing device for expanding a video playing function of a video player to provide a still picture playing function for the video player, comprising:
a condition storage portion for storing a condition for specifying still picture of a frame to be played;
a decode processing portion for decoding the inputted still picture;
a display data storage portion including two areas for storing two pieces of display data which is the still picture decoded by the decode processing portion;
a toggle processing portion for assigning one of the two areas as a first area for writing the display data and the other of the two areas as a second area for reading display data which has been already written therein, changing assignment of the first and second areas to the two areas when the display data written in the first area matches the condition stored in the condition storage portion and continuing to read from the second area when otherwise; and
a display portion for displaying the display data read by the toggle processing portion.
In the above seventh aspect, the toggle processing portion changes assignment of the first and second areas to the two areas when the display data written in the first area matches the condition stored in the condition storage portion, and continues to read from the second area when otherwise. Therefore, the toggle processing continues to assign the area in which the display data has been already written as the second area until the end of writing of the display data to be played next, and thus it is possible to continue to read the display data to be displayed from the second area. Therefore, even when the above toggle processing is executed, display switching of the still picture is smoothly made without a blackout. Thus, the still picture player can continue to display only still picture which matches the set condition among the inputted still pictures as the required still picture without a blackout.
According to an eighth aspect, in the seventh aspect, the two areas further each have a flag information storage area for storing first or second flag information indicating assignment as a first or second area; and
the toggle processing portion executes assignment of the first and second areas and a change in assignment of the first and second areas using the first and second flag information.
According to a ninth aspect, in the seventh aspect, the toggle processing portion further includes an area managing information storage portion for managing first or second area managing information indicating that the two areas are assigned as the first or second area; and
the toggle processing portion executes assignment of the first and second areas and a change in assignment of the first and second areas referring to the area managing information storage portion.
In accordance with the eighth or ninth aspect, the toggle processing portion can manage the information for indicating the first and second areas assigned by itself, thereby allowing accurate writing and reading of the display data.
According to tenth to twelfth aspects, in the seventh to ninth aspects, respectively, the still picture includes header information according to a prescribed encoding method; and
the condition for specifying the still picture is based on the header information.
According to thirteenth to fifteenth aspects, in the seventh to ninth aspects, respectively, the still picture includes a hierarchical structure having unique header information in each layer; and
the condition for specifying the still picture is based on the header information.
In the tenth to twelfth aspects or the thirteenth to fifteenth aspects, the condition information is based on the format of the still picture, and thereby it is not required to add the condition information to the still picture.
A sixteenth aspect is directed to a still picture playing device for expanding a video playing function of a video player to provide a still picture playing function for the video player, comprising:
a condition storage portion for storing a condition for specifying still picture of a frame to be played;
a decode processing portion for decoding the inputted still picture;
a display data storage portion having two areas for storing two pieces of display data which is the still picture decoded by the decode processing portion;
a toggle processing portion for assigning one of the two areas as a first area for writing the display data and the other of the two areas as a second area for reading display data which has been already written therein, changing assignment of the first and second areas to the two areas after reading from the first area when the display data written in the first area matches the condition stored in the condition storage portion and waiting for writing of new display data in the first area when otherwise;
a display memory portion for storing the display data read by the toggle processing portion; and
a display portion for reading the display data from the display memory portion and displaying the display data.
In the above sixteenth aspect, the toggle processing portion writes the display data in an enabled area among the plurality of areas and selects only the display data to be played from the other area except the enabled area based on the condition in the condition storage portion to read the display data. The read display data is stored in the display memory portion, and the display portion reads the display data therefrom and displays the display data. Therefore, the display portion can display the played display data regardless of the processing by the toggle processing portion. Therefore, even when the above toggle processing is executed, display switching of the still picture is smoothly made without a blackout. Thus, the still picture player can continue to display a still picture which matches the set condition among the inputted still pictures as the required still picture without a blackout.
According to a seventeenth aspect, in the sixteenth aspect, the still picture includes header information according to a prescribed encoding method; and
the condition for specifying the still picture is based on the header information.
According to an eighteenth aspect, in the sixteenth aspect, the still picture includes a hierarchical structure having unique header information in each layer; and
the condition for specifying the still picture is based on the header information.
In the seventeenth or eighteenth aspect, the condition information is based on the format of the still picture, and thereby it is not required to add the condition information to the still picture.
A nineteenth aspect is directed to a still picture playing device for expanding a video playing function of a video player to provide a still picture playing function for the video player, comprising:
a condition storage portion for storing a condition for specifying still picture of a frame to be played;
a decode processing portion for decoding the inputted still picture;
a display data storage portion including areas whose number is at the maximum the number of pieces of the still picture which can be stored by the areas and storing display data which is the still picture decoded by the decode processing portion in the areas;
a toggle processing portion for assigning any area among the areas as a first area for writing the display data and any area except the first area as a second area for reading display data which has been already written therein, changing assignment of the first and second areas to the areas included in the display data storage portion when the display data written in the first area matches the condition stored in the condition storage portion and continuing to read from the second area when otherwise; and
a display portion for displaying the display data read by the toggle processing portion.
In the above nineteenth aspect, the toggle processing portion changes assignment of the first and second areas to the areas included in the display data storage portion when the display data written in the first area matches the condition stored in the condition storage portion, and continues to read from the second area when otherwise. Therefore, the toggle processing continues to assign the area in which the display data has been already written as the second area until the end of writing of the display data to be played next, and thus it is possible to continue to read the display data to be displayed from the second area. Therefore, even when the above toggle processing is executed, display switching of the still picture is smoothly made without a blackout. Thus, the still picture player can continue to display a still picture which matches the set condition among the inputted still pictures as the required still picture without a blackout.
According to a twentieth aspect, in the nineteenth aspect, the areas further each have a flag information storage area for storing first or second flag information indicating assignment as a first or second area; and
the toggle processing portion executes assignment of the first and second areas and a change in assignment of the first and second areas using the first and second flag information.
According to twenty-fifth to twenty-seventh aspects, in the nineteenth to twenty-first aspects, respectively, the still picture includes a hierarchical structure having unique header information in each layer; and
the toggle processing portion executes assignment of the first and second areas and a change in assignment of the first and second areas referring to the area managing information storage portion.
In accordance with the twentieth or twenty-first aspect, the toggle processing portion can manage the information for indicating the first and second areas assigned by itself, thereby allowing accurate writing and reading of the display data.
According to twenty-second to twenty-fourth aspects, in the nineteenth to twenty-first aspects, respectively, the still picture includes header information according to a prescribed encoding method; and
the condition for specifying the still picture is based on the header information.
According to a twenty-fifth to twenty-seventh aspects, in the nineteenth to twenty-first aspects, respectively, the still picture includes a hierarchical structure having unique header information in each layer; and
the condition for specifying the still picture is based on the header information.
In the twenty-second to twenty-fourth aspects or the twenty-fifth to twenty-seventh aspects, the condition information is based on the format of the still picture, and thereby it is not required to add the condition information to the still picture.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.